/**
 * com.mbmed.doctor.paa1.service.Pab1Service.java
 */
package com.mbmed.doctor.paa1.service;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Request;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.mbmed.doctor.paa1.bo.Pab1Bo;
import com.mbmed.doctor.paa1.mapper.Pab1;

/**
 * @file  Pab1Service.java
 * @author jiangcangpeng
 * @version 0.1
 * @todo	Pab1服务操作接口
 * Copyright(C), 2013-2014
 *		 Shenzhen Coordinates Software Development Co., Ltd.
 * History
 *   	1. Date: 2014-11-06 06:15:04
 *      	Author: jiangcangpeng
 *      	Modification: this file was created
 *   	2. ...
 */
@Path("/pab1")
@Component
public class Pab1Service {
	
	private static Logger logger = Logger.getLogger(Pab1.class);
	
	@Autowired
	private Pab1Bo pab1Bo;
	
	@Context
	Request request;

	
	/**
	 * 查找所有数据库记录
     * @return type : List 返回查询操作所有符合条件的记录的VO对象集合，操作失败返回null
     */
	@GET
	@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
    public List<Pab1> getAll() throws Exception{
        List<Pab1> list = new ArrayList<Pab1>();
        return pab1Bo.getAll();        
    }
	
    /**
     * 查找符合条件的所有数据库记录
     * @param id 与数据库中主键对应的值
     * @return type :  返回查询操作所有符合条件的记录的VO对象，操作失败返回null
     * @throws Exception
     */
	@GET
	@Path("{id}")
	@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
    public Pab1 getPab1(@PathParam("id") String id) throws Exception{
    	Pab1 pab1 = null;
    	return pab1Bo.get(id);        
    }
    /**
     * 向数据库中插入一条记录
     * @param vo 与数据库中记录对应的值对象
     * @return type : 返回插入操作是否成功
     * @throws Exception
     */
	@POST
	@Produces(MediaType.APPLICATION_JSON)
	@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
	public Pab1 savePab1(
			@FormParam("pab01") java.lang.Integer pab01,
			@FormParam("paa01") java.lang.Integer paa01,
			@FormParam("pab03") java.lang.String pab03,
			@FormParam("pab04") java.lang.String pab04,
			@FormParam("pab05") java.lang.String pab05,
			@FormParam("pab06") java.lang.String pab06,
			@FormParam("pab07") java.lang.String pab07,
			@FormParam("pab08") java.lang.String pab08,
			@FormParam("pab09") java.lang.String pab09,
			@FormParam("pab10") java.lang.String pab10,
			@FormParam("pab11") java.lang.String pab11,
			@FormParam("pab12") java.lang.String pab12,
			@FormParam("pab13") java.util.Date pab13,
			@FormParam("pab14") java.lang.Integer pab14,
			@FormParam("pab15") java.lang.Integer pab15,
			@FormParam("pab16") java.lang.Byte pab16,
			@FormParam("pab17") java.util.Date pab17,
			@FormParam("bce03") java.lang.String bce03,
			@FormParam("pab19") java.lang.String pab19,
			@Context HttpServletResponse servletResponse
	) throws Exception {
		Pab1 pab1 = new Pab1();
		pab1.setPab01(pab01);
		pab1.setPaa01(paa01);
		pab1.setPab03(pab03);
		pab1.setPab04(pab04);
		pab1.setPab05(pab05);
		pab1.setPab06(pab06);
		pab1.setPab07(pab07);
		pab1.setPab08(pab08);
		pab1.setPab09(pab09);
		pab1.setPab10(pab10);
		pab1.setPab11(pab11);
		pab1.setPab12(pab12);
		pab1.setPab13(pab13);
		pab1.setPab14(pab14);
		pab1.setPab15(pab15);
		pab1.setPab16(pab16);
		pab1.setPab17(pab17);
		pab1.setBce03(bce03);
		pab1.setPab19(pab19);

		return pab1 = pab1Bo.save(pab1);

	}
	/**
     * 删除数据库中与传入的值对象对应的记录
     * @param vo 与数据库中记录对应的值对象
     * @return type : boolean 返回删除操作是否成功
     * @throws Exception
     */
	@DELETE
	@Path("{id}")
	public boolean removePab1(@PathParam("id") String id) throws Exception{
		if(id == null) return false;
    	return pab1Bo.remove(id);

	}
	
}
